13. Forward Kinematics with Kuka KR210

Forward Kinematics recap

You have already seen the theory required to describe the forward kinematics of serial manipulators. Here, we’ll go through a brief recap of the theory and demonstrate how to interact with the KUKA arm in RViz.

The goal of forward kinematics is to calculate the pose of the end-effector given all the joint angles, six in this case. You should use the modified Denavit-Hartenberg parameter convention to associate reference frames to each link and complete the DH parameter table.

Using your DH parameter table, you can create individual transforms between various links. It is best to create the transforms symbolically, and then substitute numerical values for the non-zero terms as the last step.

Remember that the DH convention uses four individual transforms,

to describe the relative translation and orientation of link (i-1) to link (i). In matrix form, this transform is,

In addition to individual transforms, you can also determine a complete homogeneous transform between the base_link and the gripper_link (end-effector) using just the end-effector pose (position+rotation). Remember that the homogeneous transform consists of a rotation part and a translation part as follows:

where Px, Py, Pz represent the position of end-effector w.r.t. base_link and RT represent the rotation part. Keep in mind that RT can be constructed using the Roll-Pitch-Yaw angles of the end-effector (which will be provided from the simulator).

The important detail to remember is that our URDF model does not follow the DH convention; the frames from your DH parameter table will NOT always match the default orientation of the KUKA arm in RViz and/or gazebo. In short, you will need to use additional rotation(s) in your calculation to compensate for the difference. In the Forward Kinematics section we discussed the set of intrinsic rotations you will have to perform to transform the coordinate frame as defined by your DH parameters to the coordinate frame defined by the URDF for the end-effector. In the upcoming Inverse Kinematics section, we will go over some more details on calculating this correctional matrix and how it contributes towards your Inverse Kinematics calculations.